﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;

/// <summary>
/// Summary description for ModeloMaterialesEnBodega
/// </summary>
public class ModeloMaterialesEnBodega
{

    private String idBodega;
    private Conexion conn;
    
    public ModeloMaterialesEnBodega()
	{
        idBodega = "";
        conn = new Conexion();
	}

    public void setIdBodega(String i)
    {
        idBodega = i;
    }

    public DataTable getMaterialesEnBodega()
    {
        try
        {

            DataTable dt = new DataTable();

            DataColumn c1 = new DataColumn();
            c1.ColumnName = "sku";
            DataColumn c2 = new DataColumn();
            c2.ColumnName = "nombre";
            DataColumn c3 = new DataColumn();
            c3.ColumnName = "proyecto asociado";
            DataColumn c4 = new DataColumn();
            c4.ColumnName = "unidad de medida";
            DataColumn c5 = new DataColumn();
            c5.ColumnName = "cantidad real";
            DataColumn c6 = new DataColumn();
            c6.ColumnName = "id tipo material";
            DataColumn c7 = new DataColumn();
            c7.ColumnName = "id proyecto";
            DataColumn c8 = new DataColumn();
            c8.ColumnName = "depto proyecto";

            dt.Columns.Add(c1);
            dt.Columns.Add(c2);
            dt.Columns.Add(c3);
            dt.Columns.Add(c4);
            dt.Columns.Add(c5);
            dt.Columns.Add(c6);
            dt.Columns.Add(c7);
            dt.Columns.Add(c8);

            String query = " SELECT TIPO_MATERIAL.SKUTIPOMATERIAL, TIPO_MATERIAL.NOMBRETIPOMATERIAL ,  " +
                            " PROYECTO.NOMBREPROYECTO , UNIDAD_DE_MEDIDA.NOMBREUNIDADDEMEDIDA ,  " +
                            " MATERIAL_REAL.CANTIDADREAL, MATERIAL_REAL.IDTIPOMATERIAL , MATERIAL_REAL.IDPROYECTO , TIPO_PROYECTO.NOMBRETIPOPROYECTO" +
                            " FROM MATERIAL_REAL INNER JOIN BODEGA ON (MATERIAL_REAL.IDBODEGA = BODEGA.IDBODEGA)  " +
                            " INNER JOIN TIPO_MATERIAL ON (MATERIAL_REAL.IDTIPOMATERIAL = TIPO_MATERIAL.IDTIPOMATERIAL) " +
                            " INNER JOIN PROYECTO ON (PROYECTO.IDPROYECTO = MATERIAL_REAL.IDPROYECTO) " +
                            " INNER JOIN UNIDAD_DE_MEDIDA ON (UNIDAD_DE_MEDIDA.IDUNIDADDEMEDIDA = TIPO_MATERIAL.IDUNIDADDEMEDIDA) " +
                            " INNER JOIN TIPO_PROYECTO ON (TIPO_PROYECTO.IDTIPOPROYECTO = PROYECTO.IDTIPOPROYECTO) " +
                            " WHERE MATERIAL_REAL.IDBODEGA = "+idBodega+" ";

            bool connected = conn.iniciarConexion();

            if (connected == true)
            {
                SqlDataReader rows = null;
                SqlCommand comm = new SqlCommand(query, conn.getConn());
                rows = comm.ExecuteReader();
                while (rows.Read())
                {
                    DataRow r = dt.NewRow();
                    r["sku"] = rows[0].ToString();
                    r["nombre"] = rows[1].ToString();
                    r["unidad de medida"] = rows[3].ToString();
                    r["cantidad real"] = rows[4].ToString();
                    r["id tipo material"] = rows[5].ToString();
                    r["id proyecto"] = rows[6].ToString();
                    r["proyecto asociado"] = rows[2].ToString();
                    r["depto proyecto"] = rows[7].ToString();
                    dt.Rows.Add(r);
                }

                conn.terminarConexion();

                return dt;
            }

            else
            {

                conn.terminarConexion();
                return null;
            }
        }

        catch (Exception exc)
        {
            
            return null;
        }

    }
}